<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>jQ 对象拷贝</title>
    <script src="lib/jQuery-v3.6.0.min.js"></script>
  </head>
  <body>
    <script>
      var obj = {
        id: 1,
        name: '张三',
        msg: {
          age: 18
        }
      }

      // jQ 对象拷贝
      // 第一个参数是 boolean，true 为深拷贝，false 为浅拷贝(默认)
      // 第二个参数是 要拷贝的对象
      // 第三个参数是 待拷贝对象
      // 说明：是把 obj 拷贝给 obj1
      var obj1 = {
        id: 0
      }

      // 方式一：浅拷贝
      // $.extend(obj1, obj)
      // obj1.name = '李四'
      // console.log(obj)  // 不会影响原对象 obj

      // obj1.msg.age = 20
      // console.log(obj)  // 会影响原对象 obj

      // 方式二：深拷贝
      $.extend(true, obj1, obj)
      obj1.msg.age = 30
      console.log(obj) // // 不会影响原对象 obj
    </script>
  </body>
</html>
